Predavanja i vežbe iz računarstva i informatike za učenike gimnazije

Računarstvo i informatika za učenike gimnazije

1. Razred

2. Razred

3. Razred

4. Razred

 

 

Zadaci sa While i Repeat za vežbanje

 

 


1. Štampati stepene dvojke ne veće od N.

2.3.4.  Izračunati sa zadatom tačnošću:
      
a)  s= 1+ x + (x2 / 2!) + (x3 / 3!) + ...
      
b)  s= x - (x3 / 3!) + (x5 / 5!) - ....
      
c)  s= 1 - (x2 / 2!) + (x4 / 4!) - ....

5. Napisati program koji, korišćenjem naredbe repeat, za dato epsilon nalazi najmanje n takvo da je (2n / n!) < epsilon.
6. Napisati program koji, korišćenjem repeat naredbe, određuje najmanji broj parnih brojeva počev od 2 čija je suma veća od R.

7. Napisati program koji korišćenjem repeat naredbe, štampa, indekse prvih 10 članova niza 
    
xn =2xn-3 + 3xn-1 - 4 , x0=2, x1=0, x2=1 , koji su veći od 15.

8.9.10. 
  
Naći prvi član niza, za koga je ispunjen uslov | an - an-1 | < epsilon, ako se niz formira po pravilu

a) an = n / ( sqrt (n2 -1) + sqrt (n2 +1) )

b) an = (1- 1/2) * (1- 1/3) *...* (1 - 1/(n+1))
 
c) an = (1- 1/2!) * (1+ 1/3!) *...* (1 + (-1)n / (n+1)! )


Za svaki zadatak napisati algoritam i program. Prva četiri zadatka realizovati pomoću While naredbe, a ostalih 6 pomoću Repeat naredbe.


Rešenja:

1.

Program Stepenidvojke;

var n,y : integer;

begin

 write (‘unesite N’); readln (n);

y:=1;

while y<=n do

begin

 writeln (y);

 y:=y*2;

end;

end.

 

2.

Program prog2;

var a,x,s,eps : real;

k: integer;

Begin

Write (‘Unesite vrednost argumenta’); readln (x);

Write (‘Unesite tacnost racunanja’); readln (eps);

s:=0; a:=1; k:=1;

while (abs(a)>=eps) do

 begin

s:=s+a;

a:=a*x/k;

k:=k+1;

 end;

writeln (‘s= ‘,s:10:3);

End.

 

3.

Program prog3;

var a,x,s,eps : real;

k: integer;

Begin

Write (‘Unesite vrednost argumenta’); readln (x);

Write (‘Unesite tacnost racunanja’); readln (eps);

s:=0; a:=x; k:=1;

while (abs(a)>=eps) do

 begin

s:=s+a;

a:=-a*sqr(x)/ ((2*k*(2*k+1));

k:=k+1;

 end;

writeln (‘s= ‘,s:10:3);

End.

  

4.

Program prog4;

var a,x,s,eps : real;

k: integer;

Begin

Write (‘Unesite vrednost argumenta’); readln (x);

Write (‘Unesite tacnost racunanja’); readln (eps);

s:=0; a:=1; k:=1;

while (abs(a)>=eps) do

 begin

s:=s+a;

a:=-a*sqr(x)/ ((2*k)*(2*k-1));

k:=k+1;

 end;

writeln (‘s= ‘,s:10:3);

End.

 

5.

Program prog5;

var p,eps : real;

n:integer;

Begin

 readln (eps);

 p:=1; n:=0;

repeat

 n:=n+1;

 p:=p*2/n;

until (p<eps);

 writeln(‘N=’, n);

End.

 

6.

Program BrojParnih;

Var s,a,k,r:integer;

Begin

 write (‘Unesite R’);

 readln (r);

 s:=0; a:=0; k:=0;

 Repeat

a:=a+2;

s:=s+a;

k:=k+1;

 Until (s>r);

 Write (‘K=’,k);

End.

 

7.

Program Niz;

Var

 x0,x1,x2,x3:longint;

 k,i:integer;

Begin

 x0:=2; x1:=0; x2:=1;

 k:=2; i:=0;

 writeln (‘Indeks’:10,’Vrednost’:10);

 Repeat

   k:=k+1;

   x3:=2*x0+3*x2-4;

     if x3>15 then

                begin

                  writeln (k:10,x3:10);

                  i:=i+1;

                end;

   x0:=x1; x1:=x2; x2:=x3;

 Until i=10;

End.

 

 

8.

Program Niz_a;

 var a,astari,eps:real;

     n:integer;

 Begin

write (‘Unesite epsilon’); readln (eps);

a:=1/sqrt(2);

n:=1;

Repeat

 astari:=a;

 n:=n+1;

 a:=n / (sqrt(sqr(n)-1)+ sqrt (sqr(n)+1));

Until (abs(a-astari)<eps);

Writeln (‘Trazeni clan niza je ’,a:10:5);

 End.

 

9.

Program Niz_b;

 var a,astari,eps:real;

     n:integer;

 Begin

write (‘Unesite epsilon’); readln (eps);

a:=1/2;

n:=1;

Repeat

 astari:=a;

 n:=n+1;

 a:=a*(1-1/(n+1));

Until (abs(a-astari)<eps);

Writeln (‘Trazeni clan niza je ’,a:10:5);

 End.

 

 

10.

Program Niz_c;

 var a,astari,eps:real;

     n:integer;

     q:longint;

 Begin

write (‘Unesite epsilon’); readln (eps);

a:=1/sqrt(2);

q:=-2;

n:=1;

Repeat

 astari:=a;

 n:=n+1;

 q:=-q*(n+1);

 a:=a*(1+1/q);

Until (abs(a-astari)<eps);

Writeln (‘Trazeni clan niza je ’,a:10:5);

 End.




 

 

© 2010 Dragoljub Perišić 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



 

 

 

©2017 Dragoljub Perišić